package cn.com.huzo.repository.tech;

import cn.com.huzo.model.entities.tech.PieceYardageLinesProductSizeEntity;
import huzofw.repository.GenericRepository;
import java.util.List;

/**
 * 单耗-成品尺码明细数据访问对象接口。
 *
 * @author 吴旭
 */
public interface PieceYardageLinesProductSizeRepository extends GenericRepository<PieceYardageLinesProductSizeEntity, String> {

    /**
     * 根据给定的单耗ID，得到成品尺码明细数据列表
     * <p>
     * @param headerId 单耗ID
     * @return 单耗用成品颜色明细数据列表
     */
    List<PieceYardageLinesProductSizeEntity> fetchByHeaderId(Long headerId);

    /**
     * 保存成品尺码明细
     * <p>
     * @param itemList 成品尺码ID列表
     * @return
     */
    Integer insert(List<PieceYardageLinesProductSizeEntity> itemList);

    /**
     * 根据选定的款号，从生产指示书得到成品尺码插入到该单耗用成品尺码明细表
     *
     * @param headerId 单耗ID
     * @param productId 产品ID
     * @return
     */
    Integer insertByStyleNo(Long headerId, Long productId);

    /**
     * 引入其他单耗时，也同时引入相应的成品尺码
     *
     * @param headerId 单耗ID
     * @param importedBomHeaderId 要引入的单耗ID
     * @return
     */
    Integer importLinesFromOtherBom(Long headerId, Long importedBomHeaderId);

    /**
     * 更新成品尺码
     * <p>
     * @param itemList 要更新的数据
     * @return 影响行数
     */
    Integer update(List<PieceYardageLinesProductSizeEntity> itemList);
}
